package com.newtouch.bxzs.common.base.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 建议书实体类
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/11 14:55</td>
 * <td>lanwei</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author lanwei
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@TableName(value = "ASSISTANT_RECOMMENDATION")
public class Recommendation implements Serializable {

    /**
     * 序列化
     */
    private static final long serialVersionUID = 567198027969537960L;

    /**
     * 主键
     */
    @TableId(value = "RECOMMENDATION_ID", type = IdType.ASSIGN_UUID)
    private String recommendationId;

    /**
     * 创建人id
     */
    @TableField(value = "CREATE_USER_ID")
    private String createUserId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "CREATE_TIME")
    private Date createTime;

    /**
     * 修改人id
     */
    @TableField(value = "UPDATE_USER_ID")
    private String updateUserId;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "UPDATE_TIME")
    private Date updateTime;

    /**
     * 备注
     */
    @TableField(value = "MEMO")
    private String memo;

    /**
     * 产品编号
     */
    @TableField(value = "PRODUCT_CODE")
    private String productCode;

    /**
     * 产品名称
     */
    @TableField(value = "PRODUCT_NAME")
    private String productName;

    /**
     * 被保人姓名
     */
    @TableField(value = "INSUREDER_NAME")
    private String insurederName;

    /**
     * 被保人年龄
     */
    @TableField(value = "INSURED_AGE")
    private Integer insuredAge;

    /**
     * 被保人性别
     */
    @TableField(value = "INSURED_SEX")
    private String insuredSex;

    /**
     * 缴费期
     */
    @TableField(value = "POLICY_PAY_PERIOD")
    private String policyPayPeriod;

    /**
     * 保障期
     */
    @TableField(value = "POLICY_PERIOD")
    private String policyPeriod;

    /**
     * 保额
     */
    @TableField(value = "POLICY_AMOUNT")
    private BigDecimal policyAmount;

    /**
     * 保费
     */
    @TableField(value = "POLICY_PREMIUM")
    private BigDecimal policyPremium;

    /**
     * 被保人证件类型
     */
    @TableField(value = "INSUREDER_CERTIFICATE_TYPE")
    private String insurederCertificateType;

    /**
     * 被保人证件号
     */
    @TableField(value = "INSUREDER_CERTIFICATE_NUMBER")
    private String insurederCertificateNum;

    /**
     * 建议书关联id
     */
    @TableField(value = "RECOMMENDATION_RELATION_ID")
    private String recommendationRelationId;

    /**
     * 首年保费
     */
    @TableField(value = "FIRST_YEAR_TOTAL_PREMIUM")
    private BigDecimal firstYearTotal;

}
